﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 
    <SolidColorBrush x:Key="BorderBrush" Color="#cfcfcf" />
	
	
	<LinearGradientBrush x:Key="GlassBrush" EndPoint="0,1" StartPoint="0,0">
		<GradientStop Color="#96FFFFFF" Offset="0"/>
		<GradientStop Color="#28FFFFFF" Offset="0.5"/>
		<GradientStop Color="#00FFFFFF" Offset="0.5"/>
	</LinearGradientBrush>
	
	<LinearGradientBrush x:Key="BackgroundBrush" EndPoint="0,1" StartPoint="0,0">
		<GradientStop Color="#727272" Offset="0"/>
		<GradientStop Color="#4c4c4c" Offset="1"/>
	</LinearGradientBrush>
	
	<LinearGradientBrush x:Key="BackgroundBrushPopUp" EndPoint="0,1" StartPoint="0,0">
		<GradientStop Color="#727272" Offset="1"/>
		<GradientStop Color="#4c4c4c" Offset="0"/>
	</LinearGradientBrush>
	
    <SolidColorBrush x:Key="ArrowBrush" Color="#cfcfcf" />
    
    <SolidColorBrush x:Key="DisabledBorderBrush" Color="#FF919191" />
	
	<LinearGradientBrush x:Key="DisabledBackground" EndPoint="0,1" StartPoint="0,0">
		<GradientStop Color="#f4f4f4" Offset="0"/>
		<GradientStop Color="#d7d7d7" Offset="0.7"/>
		<GradientStop Color="#c2c2c2" Offset="1"/>
	</LinearGradientBrush>
	
    <SolidColorBrush x:Key="DisabledForeground" Color="#aaaaaa" />

    <SolidColorBrush x:Key="HoverBorderBrush" Color="#d12e27" />
    
	<LinearGradientBrush x:Key="HoverBackground" EndPoint="0,1" StartPoint="0,0">
		<GradientStop Color="#da5e69" Offset="0"/>
		<GradientStop Color="#d12e27" Offset="1"/>
	</LinearGradientBrush>
	
    <LinearGradientBrush x:Key="HoverToggleBackground" StartPoint="0.5,0" EndPoint="0.5,1">
        <GradientStop Color="#da5e69" Offset="0"/>
		<GradientStop Color="#d12e27" Offset="1"/>
    </LinearGradientBrush>

    <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="ToggleButton">
		<Grid>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition Width="20" />
                </Grid.ColumnDefinitions>
                <Border
        x:Name="Border" 
        Grid.ColumnSpan="2"
        CornerRadius="3"
        Background="{StaticResource HoverToggleBackground}"
        BorderBrush="{StaticResource BorderBrush}"
        BorderThickness="1" />
                <Border x:Name="BorderToggle"
        Grid.Column="0"
        CornerRadius="3,0,0,3" 
		Background="{StaticResource BackgroundBrush}"
        BorderBrush="{StaticResource BorderBrush}"
        Margin="1" 
        BorderThickness="0,0,1,0" />
                <Path 
        x:Name="Arrow"
        Grid.Column="1"     
        Fill="{StaticResource ArrowBrush}"
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        Data="M 0 0 L 4 4 L 8 0 Z"/>
            </Grid>
			<Border Background="{StaticResource GlassBrush}" Margin="2" CornerRadius="3"/>
			</Grid>
            <ControlTemplate.Triggers>
                <Trigger Property="ToggleButton.IsMouseOver" Value="true">
                    <Setter TargetName="Border" Property="Background" Value="{StaticResource HoverToggleBackground}" />
                    <Setter TargetName="Border" Property="BorderThickness" Value="1" />
                    <Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource HoverBorderBrush}" />

                </Trigger>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter TargetName="Border" Property="Background" Value="{StaticResource DisabledBackground}" />
                    <Setter TargetName="BorderToggle" Property="Background" Value="{StaticResource DisabledBackground}" />
                    <Setter TargetName="Border" Property="BorderBrush" Value="{StaticResource DisabledBorderBrush}" />
                    <Setter Property="Foreground" Value="{StaticResource DisabledForeground}"/>
                    <Setter TargetName="Arrow" Property="Fill" Value="{StaticResource DisabledBorderBrush}" />
               </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>

        <ControlTemplate x:Key="ComboBoxTextBox" TargetType="TextBox">
            <Border x:Name="PART_ContentHost" Focusable="False" Background="{TemplateBinding Background}" />
        </ControlTemplate>

        <Style x:Key="{x:Type ComboBox}" TargetType="ComboBox">
            <Setter Property="Width" Value="Auto"/>
            <Setter Property="Height" Value="18"/>
            <Setter Property="FontFamily" Value="Calibri"/>
            <Setter Property="FontSize" Value="11"/>
            <Setter Property="Padding" Value="4,0,0,0"/>
            <Setter Property="Margin" Value="0"/>
            <Setter Property="Foreground" Value="{StaticResource BorderBrush}"/>
            <Setter Property="IsSynchronizedWithCurrentItem" Value="False"/>
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
			<Setter Property="VerticalAlignment" Value="Top"/>
	        <Setter Property="ItemsPanel">
	            <Setter.Value>
	                <ItemsPanelTemplate>
	                    <VirtualizingStackPanel IsVirtualizing="True"/>
	                </ItemsPanelTemplate>
	            </Setter.Value>
	        </Setter>

        <Setter Property="SnapsToDevicePixels" Value="true"/>
            <Setter Property="OverridesDefaultStyle" Value="true"/>
            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
            <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ComboBox">
                        <Grid>
                            <ToggleButton 
              Name="ToggleButton" 
              Template="{StaticResource ComboBoxToggleButton}" 
              Grid.Column="2" 
              Focusable="false"
              IsChecked="{Binding Path=IsDropDownOpen,Mode=TwoWay,RelativeSource={RelativeSource TemplatedParent}}"
              ClickMode="Press">
                            </ToggleButton>
                            <ContentPresenter
              Name="ContentSite"
              IsHitTestVisible="False" 
              Content="{TemplateBinding SelectionBoxItem}"
              ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
              ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
              Margin="3,3,23,3"
              VerticalAlignment="Center"
              HorizontalAlignment="Left" />
                            <TextBox x:Name="PART_EditableTextBox"
              Style="{x:Null}" 
              Template="{StaticResource ComboBoxTextBox}" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Center" 
              Margin="3,3,23,3"
              Focusable="True" 
              Background="Transparent"
              Visibility="Hidden"
              IsReadOnly="{TemplateBinding IsReadOnly}"/>
                            <Popup 
              Name="Popup"
              Placement="Bottom"
              IsOpen="{TemplateBinding IsDropDownOpen}"
              AllowsTransparency="True" 
              Focusable="False"
              PopupAnimation="Slide" Margin="3,-8,-3,8">
                                <Grid 
                Name="DropDown"
                SnapsToDevicePixels="True"                
                MinWidth="{TemplateBinding ActualWidth}"
                MaxHeight="{TemplateBinding MaxDropDownHeight}">
                                    <Border 
                  x:Name="DropDownBorder"
                  Background="{StaticResource BackgroundBrushPopUp}"
                  BorderThickness="1,1,1,1" CornerRadius="3" Margin="0,3,0,3"
                  BorderBrush="{StaticResource BorderBrush}"/>
                                    <ScrollViewer Margin="0,3" SnapsToDevicePixels="True">
                                        <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" />
                                    </ScrollViewer>
                                </Grid>
                            </Popup>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="HasItems" Value="false">
                                <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95"/>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="false">
                              <Setter Property="Foreground" Value="{StaticResource DisabledForeground}"/>
                                <Setter Property="Background" Value="{StaticResource DisabledBackground}"/>
                            </Trigger>
                            <Trigger Property="IsGrouping" Value="true">
                                <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
                            </Trigger>
                            <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="true">
                            </Trigger>
                            <Trigger Property="IsEditable"
                 Value="true">
                                <Setter Property="IsTabStop" Value="false"/>
                                <Setter TargetName="PART_EditableTextBox" Property="Visibility"	Value="Visible"/>
                                <Setter TargetName="ContentSite" Property="Visibility" Value="Hidden"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
            </Style.Triggers>
        </Style>

        <!-- SimpleStyles: ComboBoxItem -->
        <Style x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem">
            <Setter Property="SnapsToDevicePixels" Value="true"/>
            <Setter Property="OverridesDefaultStyle" Value="true"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ComboBoxItem">
                        <Border 
            Name="Border"
            Padding="2"
			BorderThickness="1"
            SnapsToDevicePixels="true">
                            <ContentPresenter />
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsHighlighted" Value="true">
                                <Setter TargetName="Border" Property="Background" Value="{StaticResource HoverToggleBackground}"/>
                            </Trigger>
                            <Trigger Property="IsEnabled" Value="false">
                                <Setter Property="Foreground" Value="{StaticResource DisabledForeground}"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>